"""
__project__ = 'automation'
__file_name__ = 'homeWork_1116'
__author__ = 'wang'
__time__ = '2020/11/16 20:50'
__product_name = PyCharm

                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            佛祖保佑       永无BUG
"""



# 学生管理系统


# 定义列表存放学生信息
student_info = [{'name': '张三', 'age': '23', 'gender': '男'}, {'name': '李四', 'age': '2', 'gender': '2'}]

# 定义输出打印菜单栏
def prStudent():

    """
    打印输出栏
    :return:
    """
    print('-' * 20)
    print('欢迎进入学生管理系统')
    print('****1、新增学生****')
    print('****2、修改学生****')
    print('****3、删除学生****')
    print('****4、退出系统****')
    print('-' * 20)



def prModiStuden():
    """
    修改学生信息输出栏
    :return:
    """
    print('-' * 20)
    print('****1、修改姓名****')
    print('****2、修改年龄****')
    print('****3、修改性别****')
    print('-' * 20)
    student_no = input('请输入您的操作')
    # print (student_no)
    # print (type(student_no))

    if (student_no != '1') and (student_no != '2') and (student_no != '3'):
        print('您输入的有误')

    else:
        return int(student_no)



def addStudent():

    """
    新增学生
    :return:
    """
    student_name = input('请输入学生姓名：')

    # 判断输入的学生姓名是否存在
    for student in student_info:
        # 如果学生姓名已经存在，直接退出函数
        if student['name'] == student_name:
            print('您输入的姓名已经存在！')
            return


    student_age = input('请输入学生年龄:')
    student_gender = input('请输入学生性别：')

    student = {
        'name': student_name,
        'age': student_age,
        'gender': student_gender,
    }

    student_info.append(student)
    print('新增成功，您新增的信息为： ', student)
    print(student_info)



def modifyStudent():

    """
    修改学生
    :return:
    """
    modi_student_name = input('请输入要修改学生的姓名：')
    # 遍历整个学生信息列表
    for student in student_info:

        # 判断用户输入的name是否在学生列表的的字典元素的key值
        if student['name'] == modi_student_name:
            # print (student)
            user = prModiStuden()
            # print (user)

            if user == 1:
                new_name = input('请输入新的姓名：')

                # 判断输入的学生姓名是否存在
                for student in student_info:
                    # 如果学生姓名已经存在，直接退出函数
                    if student['name'] == new_name:
                        print('您输入的姓名已经存在！')
                        return

                student['name'] = new_name
                print('您修改的姓名信息已保存')
                return
                # pass

            elif user == 2:
                new_age = input('请输入新的年龄：')
                student['age'] = new_age
                print('您修改的年龄信息已保存')
                return
                # pass

            elif user == 3:
                new_gender = input('请输入新的性别')
                student['gender'] = new_gender
                print('您修改的性别信息已保存')
                return
                # pass

    print(student_info)
    print('您输入的学生姓名不存在！')

    # pass

def delStudent():
    """
    删除学生
    :return:
    """
    del_student_name = input('请输入要删除学生的姓名：')
    # 遍历整个学生信息列表
    for student in student_info:

        # 判断用户输入的name是否在学生列表的的字典元素的key值
        if student['name'] == del_student_name:
            # print (student)
            # 找出输入姓名所对应key值的字典，并获取到该字典在列表中的下标
            index = student_info.index(student)
            # print (index)
            del student_info[index]
            print(student_info)
            print('您输入的学生信息已删除')

            # 删除完退出删除函数
            return
            # pass

    # 如果输入的姓名不存在，则不进入循环
    print(student_info)
    print('您输入的姓名不存在！')




def run():
    Tag = True
    while Tag:
        prStudent()
        start = input('请输入您的操作选项：')

        if start == '1':
            addStudent()

        elif start == '2':
            modifyStudent()

        elif start == '3':
            delStudent()

        elif start == '4':
            Tag = False

        else:
            print('您的输入有误')




run()




